module std {
  module vector { header "vector.h" }
  module type_traits { header "type_traits.h" }
  explicit module hash_map { header "hash_map.h" }
}

module import_self {
  module a { header "import-self-a.h" }
  module b { header "import-self-b.h" export * }
  module c { header "import-self-c.h" }
  module d { header "import-self-d.h" }
}

module missing_headers {
  module missing { header "missing.h" }
  module not_missing { header "not_missing.h" }
}

module missing_unavailable_headers {
  module missing {
    requires !objc
    header "missing.h"
    module also_missing { header "also_missing.h" }
  }
  module not_missing { }
}

module missing_umbrella_with_inferred_submodules {
  umbrella header "missing_umbrella.h"
  module * { export * }
  export *
}
